package juego;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;

import titiritero.vista.ObjetoDeTexto;
import titiritero.Posicionable;
import utilidades.Posicion;

public class ContadorDePuntos implements ObjetoDeTexto , Posicionable , Serializable {

	private static final long serialVersionUID = 1L;
	private int puntaje;
	private Posicion posicionEnPantalla;
	
	public ContadorDePuntos() {
		puntaje = 0;
		posicionEnPantalla = new Posicion(10,20);
	}
	
	public void anotarPunto() {
		puntaje +=1;
	}
	
	public int getPuntaje() {
		return puntaje;
	}
	
	public void setPuntaje(int puntaje){
		this.puntaje = puntaje;
	}
	
	public void reiniciarPuntaje() {
		puntaje = 0;
	}

	public String getTexto() {
		return ("Puntaje: " + this.getPuntaje());
	}

	public int getX() {
		return (int)this.posicionEnPantalla.getX();
	}

	public int getY() {
		return (int)this.posicionEnPantalla.getY();
	}
	
	//Guarda el contador pasado por parametros en el archivo "SavePuntajeMaximo.bin"
	public static void guardar(ContadorDePuntos contador){
		try{
			FileOutputStream fos = new FileOutputStream("rsc\\Save\\SavePuntajeMaximo.bin");
			ObjectOutputStream oos = new ObjectOutputStream(fos);
			oos.writeObject(contador);
			oos.close();
		} catch (FileNotFoundException e){
			System.out.print(e.getMessage());
		} catch (IOException e) {
			System.out.print(e.getMessage());
		}
	}
	
	//Carga el contador de puntos en el archivo "SavePuntajeMaximo.bin" 
	//y lo devuelve
	public static ContadorDePuntos cargar() throws ClassNotFoundException{
		ContadorDePuntos contador = null;
		try{
			FileInputStream fos = new FileInputStream("rsc\\Save\\SavePuntajeMaximo.bin");
			ObjectInputStream ois = new ObjectInputStream(fos);
			contador = (ContadorDePuntos) ois.readObject();
			ois.close();
		} catch (FileNotFoundException e) {
			System.out.print(e.getMessage());
		} catch (IOException e) {
			System.out.print(e.getMessage());
		}
		return contador;
	}
	

}
